package com.zhan.signalling.annotation;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * 索引列需要配合主键列组成索引
 * 1.最多创建 16 张索引表
 * 2.一张索引表最多四列
 * 3.索引类型与主键列约束相同
 * 4.多个列组合索引，大小限制和主表PK列相同
 * 5.不支持TTL
 * 6.不支持多版本
 * 7.不允许使用Stream功能
 * @author knight
 *
 */
@Documented
@Retention(RUNTIME)
@Target(FIELD)
public @interface IndexColumn {
	
	/**
	 * 索引名
	 * @return
	 */
	String indexName();
	
	String name();
	
	/**
	 * 主键名
	 * @return
	 */
	String[] primaryKey();
	
}
